package algo3.vista.armas;

import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

import algo3.modelo.armas.Arma;


public class ReflexionVistaArma {
	
	static public VistaArma obtenerVistaArmaPorReflexion(String nombreVistaArma,Arma arma){
		
		VistaArma vista = null;
		
		try {
			
		
		
	        Class claseDeVista;
		
			claseDeVista = Class.forName("algo3.vista.armas." + nombreVistaArma);
		    Constructor constructor = claseDeVista.getConstructor(Arma.class);
      	    vista = (VistaArma) constructor.newInstance (arma);
			}
		
	    	catch (NoSuchMethodException e1) {
			e1.printStackTrace();} 
		    catch (SecurityException e1) {
			e1.printStackTrace();}
		    catch (ClassNotFoundException e2) {
			e2.printStackTrace();}
			catch (InstantiationException e) {
			e.printStackTrace();}
		    catch (IllegalAccessException e) {
			e.printStackTrace();}
		    catch (IllegalArgumentException e) {
			e.printStackTrace();} 
		    catch (InvocationTargetException e) {
			e.printStackTrace();}
	
	
	return vista;
}
}


